package model

// 实例化商家对象
type SupplierUser struct {
	Email  string  `json:"email"`  //商家邮箱
	Pass   string  `json:"pass"`   //商家密码
	Head   string  `json:"head"`   //商家头像
	Goods  []Good  `json:"goods"`  //商家发布的商品
	Orders []Order `json:"orders"` //订单
}

// 用来存储用户浏览记录
type Browse struct {
	TimeDate string `json:"time_date"` //日期
	Number   int    `json:"number"`    //储存浏览次数
}

// 实例化商品列表
type Good struct {
	Id         string            `json:"id"`          //商品编号
	Name       string            `json:"name"`        //商品名称
	Pic        string            `json:"pic"`         //商品图片
	Desc       string            `json:"desc"`        //商品简介
	Price      string            `json:"price"`       //商品价格
	Stock      int               `json:"stock"`       //商品库存 或 在订单表里当购买数量
	Unit       string            `json:"unit"`        //商品单位
	Sales      int               `json:"sales"`       //商品销量
	Status     int               `json:"status"`      //商品状态
	CreateTime string            `json:"create_time"` //商品创建时间
	Browses    map[string]Browse `json:"browses"`     //储存浏览人数
	Supplier   string            `json:"supplier"`    //存储商家用户的ID
}

/*
商品状态
0 代表商品等待审核
1 代表商品代表已上架
2 代表商品库存不足
3 代表商品已经下架
*/

// 实例化订单信息
type Order struct {
	Id          string      `json:"id"`           //订单编号
	Supplier    string      `json:"supplier"`     //商家账号
	User        string      `json:"user"`         //用户账号
	Amount      string      `json:"amount"`       //订单金额
	Status      int         `json:"status"`       //订单状态
	CreateTime  string      `json:"create_time"`  //订单创建时间
	Invoice     string      `json:"invoice"`      //发货单流水号
	Logistics   string      `json:"logistics"`    //物流方式
	LogisticsId string      `json:"logistics_id"` //物流单号
	Receipt     string      `json:"receipt"`      //收货时间
	ReceiptInfo UserAddress `json:"receiptInfo"`  //收件人信息
	GoodsInfo   []Good      `json:"goodsInfo"`    //购买当商品信息
	OperateInfo []Operate   `json:"operateInfo"`  //订单操作信息
}

/*
订单状态
0 代表已下单
1 代表商品已发货
2 代表待确认收货
3 代表商品已收货
4 代表订单完成
5 代表订单取消
*/

// 用户的收货地址
type UserAddress struct {
	Name        string `json:"name"`        //收件人姓名
	PhoneNumber string `json:"phoneNumber"` //收件人手机号
	Address     string `json:"address"`     //收件人地址
}

// 订单操作实例
type Operate struct {
	User        string `json:"user"`        //操作人
	OperateTime string `json:"operateTime"` //操作时间
	OrderStatus int    `json:"orderStatus"` //订单状态
	Remark      string `json:"remark"`      //备注
}

// 储存首页数据
type SupplierIndexData struct {
	DailyOrderNumber   int    `json:"todayOrderNumber"`   //储存今日订单总数
	DailySalesTotal    string `json:"dailySalesTotal"`    //今日销售总额
	PreviousSalesTotal string `json:"previousSalesTotal"` //昨日销售总额

	CompletedOrder                   int `json:"completedOrder"`                   //已完成订单
	ShippedOrder                     int `json:"shippedOrder"`                     //已发货订单
	PendingDeliveryConfirmationOrder int `json:"pendingDeliveryConfirmationOrder"` //等待确认收货的订单
	CancelledOrder                   int `json:"cancelledOrder"`                   //已取消订单
	PendingShipmentOrder             int `json:"pending_shipment_order"`           //待发货订单
	OutOfStockRegistration           int `json:"outOfStockRegistration"`           //缺货登记

	ListedProduct           int `json:"listedProduct"`           //上架商品
	TightWarehouseInventory int `json:"tightWarehouseInventory"` //库房紧张
	AllProducts             int `json:"allProducts"`             //所有商品

	DailyBrowse    int `json:"dailyBrowse"`    //今日浏览
	PreviousBrowse int `json:"previousBrowse"` //昨日浏览
	MonthBrowse    int `json:"monthBrowse"`    //月浏览
	AllBrowse      int `json:"allBrowse"`      //总浏览
}
